popover: Optimize the transition
authorMatthias Clasen <mclasen@redhat.com>
Sun, 16 Aug 2015 02:02:40 +0000 (22:02 -0400)
committerMatthias Clasen <mclasen@redhat.com>
Sun, 16 Aug 2015 02:02:40 +0000 (22:02 -0400)
There's no need to queue a resize here.

https://bugzilla.gnome.org/show_bug.cgi?id=753568

gtk/gtkpopover.c

index e7f3e69499a7db6049b9883daa11fc76f9b7a1b8..67697751de5f562b4f18f94e9bf8e0a9a73a50c6 100644 (file)
@@ -518,8 +518,6 @@ show_animate_cb (GtkWidget     *widget,
       gtk_widget_set_opacity (widget, 1.0 - t);
     }
 
-  gtk_widget_queue_resize (GTK_WIDGET (popover));
-
   if (t >= 1.0)
     {
       if (priv->state == STATE_SHOWING)
@@ -532,10 +530,10 @@ show_animate_cb (GtkWidget     *widget,
       else
         gtk_popover_set_state (popover, STATE_HIDDEN);
 
-      return FALSE;
+      return G_SOURCE_REMOVE;
     }
   else
-    return TRUE;
+    return G_SOURCE_CONTINUE;
 }
 
 static void
@@ -575,7 +573,7 @@ gtk_popover_set_state (GtkPopover *popover,
     gtk_popover_start_transition (popover);
   else
     {
-      if (priv->tick_id)
+      if (priv->tick_id != 0)
         {
           gtk_widget_remove_tick_callback (GTK_WIDGET (popover), priv->tick_id);
           priv->tick_id = 0;